Only add up native subwindow offsets for gdk_window_quartz_get_origin
authorRichard Hult <richard@imendio.com>
Sun, 15 Feb 2009 08:25:56 +0000 (09:25 +0100)
committerAlexander Larsson <alex@localhost.localdomain>
Thu, 2 Apr 2009 08:16:29 +0000 (10:16 +0200)
gdk/quartz/gdkwindow-quartz.c

index f112497e4ff9d402fd0581ff65a78f5c1fe9ef8b..2bb4bdb1c32e532f169ebcf0a8eb8ab5245f80e0 100644 (file)
@@ -1678,8 +1678,11 @@ gdk_window_quartz_get_origin (GdkWindow *window,
 
   if (window == _gdk_root)
     {
-      *x = 0;
-      *y = 0;
+      if (x)
+        *x = 0;
+      if (y)
+        *y = 0;
+
       return 1;
     }
   
@@ -1695,8 +1698,11 @@ gdk_window_quartz_get_origin (GdkWindow *window,
 
   while (private != GDK_WINDOW_OBJECT (toplevel))
     {
-      tmp_x += private->x;
-      tmp_y += private->y;
+      if (_gdk_window_has_impl ((GdkWindow *)private))
+        {
+          tmp_x += private->x;
+          tmp_y += private->y;
+        }
 
       private = private->parent;
     }